草庐IT

JavaScript undefined 替换为 null

全部标签

javascript - 有什么方法可以防止替换 JavaScript 对象属性?

我想让一个对象的结构不可变,以防止其属性随后被替换。但是,这些属性需要是可读的。这可能吗?我确定没有语言特性(如Java中的final和C#中的readonly行)来支持这一点,但想知道是否可能有另一种机制为了达到同样的结果?我正在寻找类似的东西:varo={a:"a",f:function(){return"b";}};varp=o.a;//OKo.a="b";//Errorvarq=o.f();//OKo.f=function(){//Errorreturn"c";}; 最佳答案 ECMAScript5将有seal()和free

JavaScript 非正则表达式替换

是否有任何现有的JavaScript框架具有非正则表达式replace()函数,或者这是否已经作为一次性功能发布在网络上的某处?例如我想替换"@!#$123=%"并且我不想担心要转义哪些字符。大多数语言似乎都有两种替换方法。我希望添加这个简单的东西。 最佳答案 我可能误解了你的问题,但javascript确实有一个replace()varstring='@!#$123=%';varnewstring=string.replace('@!#$123=%','hi');编辑:(见评论)第5版似乎确实有这个信息,虽然它在我linkdire

javascript - 在javascript中替换 '\n'

这个问题在这里已经有了答案:HowdoIreplacealloccurrencesofastringinJavaScript?(78个答案)Fastestmethodtoreplaceallinstancesofacharacterinastring[duplicate](14个答案)关闭去年。我正在尝试使用JavaScript进行替换:r="I\nam\nhere";s=r.replace("\n","");但不是给我Iamhere作为s的值,它返回相同的值。问题出在哪里??

javascript - "/\s/g"如何用其他字符替换空格?

我使用该代码将空格替换为另一个字符,但我想知道这到底意味着什么。谁能给我解释一下这是什么意思?谢谢 最佳答案 这是一个正则表达式,其中\s表示“匹配空格”,g是一个标志,表示“全局”,即匹配所有空格,不仅仅是第一个。 关于javascript-"/\s/g"如何用其他字符替换空格?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5365428/

Javascript 正则表达式替换不在 html 属性中的文本

这个问题在这里已经有了答案:Highlightsearchterms(selectonlyleafnodes)(7个答案)关闭9年前。我希望Javascript正则表达式在给定的开始()和结束标记(即)中包装给定的单词列表,但前提是单词实际上是页面,而不是在html属性内(例如链接的标题标签,或在block内。我已经使用基本设置创建了一个JSFiddle:http://jsfiddle.net/4YCR6/1/

javascript - 用从评论内容派生的子树替换 JavaScript AST 中的评论

我是doctest的作者,又快又脏doctests适用于JavaScript和CoffeeScript。我想通过使用JavaScript解析器而不是正则表达式来定位注释来减少库的污染。我想使用Esprima或Acorn执行以下操作:创建一个AST遍历树,对于每个评论节点:从评论节点的文本创建一个AST用这棵子树替换主树中的注释节点输入:!function(){//>toUsername("JesperNøhr")//"jespernhr"vartoUsername=function(text){return(''+text).replace(/\W/g,'').toLowerCase(

javascript - 无法读取 null 的属性 'style' - Google 登录按钮

我正在尝试为我的网站实现Google登录。登录按钮会正确显示,并且最初会成功登录。当我在使用该网站后注销并尝试移至登录页面时,我的问题就出现了(我使用的是React,所以都是一页)。我使用完全相同的函数来呈现登录页面,但它给了我一个“cb=gapi.loaded_0:249UncaughtTypeError:Cannotreadproperty'style'ofnull”。gapi的错误就出现在这里(至少我是这么认为的):a.El;window.document.getElementById((c?"not_signed_in":"connected"这是我最初添加要呈现的登录按钮的方

javascript - 下划线/微模板替换换行符 - 奇怪的行为

我正在使用Underscore模板(基于JohnResig的Microtemplate),每当我尝试替换其中的换行符时,我都会遇到奇怪的行为。例如,如果我有这样的文字:varmessage='Line1\r\n\r\nLine2';如果我这样做,我可以用br标签正确地替换换行符:$('#example1_no_template').html(message.replace(/\r?\n/g,''));但是,如果我尝试用下面的示例代码替换Underscore模板中的换行符,我不会插入任何br标签:')%>vartemplate1=_.template($('#template1').ht

javascript - 如何在 sequelize 中将 .update() 值设置为 NULL

我正在编写我的服务以使用PostGres的sequelize更新行。当我使用PSequel尝试我的查询时,它工作正常:UPDATE"test_table"SET"test_col"=NULLWHERE"id"='2'但是使用sequelize会抛出500错误:db.TestTable.update({testCol:NULL},{where:{id:id}}).then((count)=>{if(count){returncount;}});我的模型确实允许空值,我相信这是允许空值成为默认值和设置的原因:testCol:{type:DataTypes.INTEGER,allowNull

javascript - Object.create(null) 的用例

我知道使用Object.create(null)创建一个没有proto属性的对象(即Object.getPrototypeOf(myObj)===null)但有人可以帮助我了解这方面的一些用例吗?换句话说,为什么要创建一个完全空的对象(即不从Object.prototype继承任何方法)? 最佳答案 在极少数情况下,可能已将某些内容添加到Object.prototypeObject.prototype.bar='bar';最好用Object.create(null)创建一个Object因为它不会继承这个,考虑一下({}).bar;/